2011年04月08日
川俣晶の縁側ソフトウェアANGF開発日誌 total 2545 count

1980オタクのヒデオ全国版の可能性が早まったぞ

Written By: 川俣 晶連絡先

 1980オタクのヒデオの重大な制約は、日本全国の全線全駅を収録しているのに、東京以外の駅には行けないことでした。沖縄のゆいれーるの駅までデータとしてはありますが、それを有効にすると遅すぎるので。

 これは重大な問題として認識していました。御当地モジュールを作るにはしんどすぎるからです。大阪食い倒れモジュールを作りたいと思ってもそこに移動できません。

 これまで、アーキテクチャの大幅改変を行わねば軽くできないと思っていました。ANGFの大幅なバージョンアップは必須です。ところが、ふと気付いて少し書き換えたところ、問題ない軽さで動くようになりました。ANGFは変更していません。ちょっとトリックのようなことをしていますが、それを除けば平凡なコードです。

種明かし §

 場所を追加する際、IDの重複チェックを行っていましたが、場所の数が増えるとそれに従って重複チェックの手間が格段に増えていったのが問題でした。重複チェックを省いてダイレクトにANGFのオンメモリ管理コレクションに登録すると、問題ない軽さで動くことが分かりました。(本当はバッドマナーなのだが)

 登録タイミングがGetPlacesメソッド呼び出し時で問題なし。GetPlacesメソッドで返したデータを登録する代わりにGetPlacesメソッド内で登録してしまうからです。

 そして、実はIDの重複チェックの機能性も失われていません。実はAddメソッドで登録するときキーのIDに重複があると例外を投げてくれるからです。

というわけで §

 「1980オタクのヒデオ全国版」が実現する時期はかなり早まったと思って間違いないと思います。他にも直したい箇所はいくつかあるので、まだもう少し直しますが。一部のヒントは東京以外で探すように直せると本当は良いのですが、そこまで時間があるかな。あと、列車でゆいレールの駅まで行けてしまう問題も解決するかどうか悩ましいところ。

 他に、イースターエッグを探せ、的なイベントも仕込んでみたいですね。最初に見つけた人に賞品とか。